﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000DC3 RID: 3523
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RaidInfoNotify : IMessage<RaidInfoNotify>, IMessage, IEquatable<RaidInfoNotify>, IDeepCloneable<RaidInfoNotify>, IBufferMessage
	{
		// Token: 0x17002CBB RID: 11451
		// (get) Token: 0x06009E22 RID: 40482 RVA: 0x001A6D9F File Offset: 0x001A4F9F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RaidInfoNotify> Parser
		{
			get
			{
				return RaidInfoNotify._parser;
			}
		}

		// Token: 0x17002CBC RID: 11452
		// (get) Token: 0x06009E23 RID: 40483 RVA: 0x001A6DA6 File Offset: 0x001A4FA6
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RaidInfoNotifyReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17002CBD RID: 11453
		// (get) Token: 0x06009E24 RID: 40484 RVA: 0x001A6DB8 File Offset: 0x001A4FB8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RaidInfoNotify.Descriptor;
			}
		}

		// Token: 0x06009E25 RID: 40485 RVA: 0x001A6DBF File Offset: 0x001A4FBF
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RaidInfoNotify()
		{
		}

		// Token: 0x06009E26 RID: 40486 RVA: 0x001A6DD4 File Offset: 0x001A4FD4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RaidInfoNotify(RaidInfoNotify other) : this()
		{
			this.raidId_ = other.raidId_;
			this.status_ = other.status_;
			this.raidFinishTime_ = other.raidFinishTime_;
			this.worldLevel_ = other.worldLevel_;
			this.itemList_ = ((other.itemList_ != null) ? other.itemList_.Clone() : null);
			this.raidTargetInfo_ = other.raidTargetInfo_.Clone();
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x06009E27 RID: 40487 RVA: 0x001A6E55 File Offset: 0x001A5055
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RaidInfoNotify Clone()
		{
			return new RaidInfoNotify(this);
		}

		// Token: 0x17002CBE RID: 11454
		// (get) Token: 0x06009E28 RID: 40488 RVA: 0x001A6E5D File Offset: 0x001A505D
		// (set) Token: 0x06009E29 RID: 40489 RVA: 0x001A6E65 File Offset: 0x001A5065
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint RaidId
		{
			get
			{
				return this.raidId_;
			}
			set
			{
				this.raidId_ = value;
			}
		}

		// Token: 0x17002CBF RID: 11455
		// (get) Token: 0x06009E2A RID: 40490 RVA: 0x001A6E6E File Offset: 0x001A506E
		// (set) Token: 0x06009E2B RID: 40491 RVA: 0x001A6E76 File Offset: 0x001A5076
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RaidStatus Status
		{
			get
			{
				return this.status_;
			}
			set
			{
				this.status_ = value;
			}
		}

		// Token: 0x17002CC0 RID: 11456
		// (get) Token: 0x06009E2C RID: 40492 RVA: 0x001A6E7F File Offset: 0x001A507F
		// (set) Token: 0x06009E2D RID: 40493 RVA: 0x001A6E87 File Offset: 0x001A5087
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ulong RaidFinishTime
		{
			get
			{
				return this.raidFinishTime_;
			}
			set
			{
				this.raidFinishTime_ = value;
			}
		}

		// Token: 0x17002CC1 RID: 11457
		// (get) Token: 0x06009E2E RID: 40494 RVA: 0x001A6E90 File Offset: 0x001A5090
		// (set) Token: 0x06009E2F RID: 40495 RVA: 0x001A6E98 File Offset: 0x001A5098
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint WorldLevel
		{
			get
			{
				return this.worldLevel_;
			}
			set
			{
				this.worldLevel_ = value;
			}
		}

		// Token: 0x17002CC2 RID: 11458
		// (get) Token: 0x06009E30 RID: 40496 RVA: 0x001A6EA1 File Offset: 0x001A50A1
		// (set) Token: 0x06009E31 RID: 40497 RVA: 0x001A6EA9 File Offset: 0x001A50A9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ItemList ItemList
		{
			get
			{
				return this.itemList_;
			}
			set
			{
				this.itemList_ = value;
			}
		}

		// Token: 0x17002CC3 RID: 11459
		// (get) Token: 0x06009E32 RID: 40498 RVA: 0x001A6EB2 File Offset: 0x001A50B2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<RaidTargetInfo> RaidTargetInfo
		{
			get
			{
				return this.raidTargetInfo_;
			}
		}

		// Token: 0x06009E33 RID: 40499 RVA: 0x001A6EBA File Offset: 0x001A50BA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RaidInfoNotify);
		}

		// Token: 0x06009E34 RID: 40500 RVA: 0x001A6EC8 File Offset: 0x001A50C8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RaidInfoNotify other)
		{
			return other != null && (other == this || (this.RaidId == other.RaidId && this.Status == other.Status && this.RaidFinishTime == other.RaidFinishTime && this.WorldLevel == other.WorldLevel && object.Equals(this.ItemList, other.ItemList) && this.raidTargetInfo_.Equals(other.raidTargetInfo_) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x06009E35 RID: 40501 RVA: 0x001A6F5C File Offset: 0x001A515C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.RaidId != 0U)
			{
				num ^= this.RaidId.GetHashCode();
			}
			if (this.Status != RaidStatus.None)
			{
				num ^= this.Status.GetHashCode();
			}
			if (this.RaidFinishTime != 0UL)
			{
				num ^= this.RaidFinishTime.GetHashCode();
			}
			if (this.WorldLevel != 0U)
			{
				num ^= this.WorldLevel.GetHashCode();
			}
			if (this.itemList_ != null)
			{
				num ^= this.ItemList.GetHashCode();
			}
			num ^= this.raidTargetInfo_.GetHashCode();
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x06009E36 RID: 40502 RVA: 0x001A7010 File Offset: 0x001A5210
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x06009E37 RID: 40503 RVA: 0x001A7018 File Offset: 0x001A5218
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x06009E38 RID: 40504 RVA: 0x001A7024 File Offset: 0x001A5224
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Status != RaidStatus.None)
			{
				output.WriteRawTag(16);
				output.WriteEnum((int)this.Status);
			}
			this.raidTargetInfo_.WriteTo(ref output, RaidInfoNotify._repeated_raidTargetInfo_codec);
			if (this.RaidFinishTime != 0UL)
			{
				output.WriteRawTag(48);
				output.WriteUInt64(this.RaidFinishTime);
			}
			if (this.RaidId != 0U)
			{
				output.WriteRawTag(64);
				output.WriteUInt32(this.RaidId);
			}
			if (this.WorldLevel != 0U)
			{
				output.WriteRawTag(72);
				output.WriteUInt32(this.WorldLevel);
			}
			if (this.itemList_ != null)
			{
				output.WriteRawTag(106);
				output.WriteMessage(this.ItemList);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x06009E39 RID: 40505 RVA: 0x001A70E4 File Offset: 0x001A52E4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.RaidId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.RaidId);
			}
			if (this.Status != RaidStatus.None)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Status);
			}
			if (this.RaidFinishTime != 0UL)
			{
				num += 1 + CodedOutputStream.ComputeUInt64Size(this.RaidFinishTime);
			}
			if (this.WorldLevel != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.WorldLevel);
			}
			if (this.itemList_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.ItemList);
			}
			num += this.raidTargetInfo_.CalculateSize(RaidInfoNotify._repeated_raidTargetInfo_codec);
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06009E3A RID: 40506 RVA: 0x001A7198 File Offset: 0x001A5398
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RaidInfoNotify other)
		{
			if (other == null)
			{
				return;
			}
			if (other.RaidId != 0U)
			{
				this.RaidId = other.RaidId;
			}
			if (other.Status != RaidStatus.None)
			{
				this.Status = other.Status;
			}
			if (other.RaidFinishTime != 0UL)
			{
				this.RaidFinishTime = other.RaidFinishTime;
			}
			if (other.WorldLevel != 0U)
			{
				this.WorldLevel = other.WorldLevel;
			}
			if (other.itemList_ != null)
			{
				if (this.itemList_ == null)
				{
					this.ItemList = new ItemList();
				}
				this.ItemList.MergeFrom(other.ItemList);
			}
			this.raidTargetInfo_.Add(other.raidTargetInfo_);
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06009E3B RID: 40507 RVA: 0x001A724D File Offset: 0x001A544D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06009E3C RID: 40508 RVA: 0x001A7258 File Offset: 0x001A5458
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 48U)
				{
					if (num == 16U)
					{
						this.Status = (RaidStatus)input.ReadEnum();
						continue;
					}
					if (num == 26U)
					{
						this.raidTargetInfo_.AddEntriesFrom(ref input, RaidInfoNotify._repeated_raidTargetInfo_codec);
						continue;
					}
					if (num == 48U)
					{
						this.RaidFinishTime = input.ReadUInt64();
						continue;
					}
				}
				else
				{
					if (num == 64U)
					{
						this.RaidId = input.ReadUInt32();
						continue;
					}
					if (num == 72U)
					{
						this.WorldLevel = input.ReadUInt32();
						continue;
					}
					if (num == 106U)
					{
						if (this.itemList_ == null)
						{
							this.ItemList = new ItemList();
						}
						input.ReadMessage(this.ItemList);
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x04003CFB RID: 15611
		private static readonly MessageParser<RaidInfoNotify> _parser = new MessageParser<RaidInfoNotify>(() => new RaidInfoNotify());

		// Token: 0x04003CFC RID: 15612
		private UnknownFieldSet _unknownFields;

		// Token: 0x04003CFD RID: 15613
		public const int RaidIdFieldNumber = 8;

		// Token: 0x04003CFE RID: 15614
		private uint raidId_;

		// Token: 0x04003CFF RID: 15615
		public const int StatusFieldNumber = 2;

		// Token: 0x04003D00 RID: 15616
		private RaidStatus status_;

		// Token: 0x04003D01 RID: 15617
		public const int RaidFinishTimeFieldNumber = 6;

		// Token: 0x04003D02 RID: 15618
		private ulong raidFinishTime_;

		// Token: 0x04003D03 RID: 15619
		public const int WorldLevelFieldNumber = 9;

		// Token: 0x04003D04 RID: 15620
		private uint worldLevel_;

		// Token: 0x04003D05 RID: 15621
		public const int ItemListFieldNumber = 13;

		// Token: 0x04003D06 RID: 15622
		private ItemList itemList_;

		// Token: 0x04003D07 RID: 15623
		public const int RaidTargetInfoFieldNumber = 3;

		// Token: 0x04003D08 RID: 15624
		private static readonly FieldCodec<RaidTargetInfo> _repeated_raidTargetInfo_codec = FieldCodec.ForMessage<RaidTargetInfo>(26U, EggLink.DanhengServer.Proto.RaidTargetInfo.Parser);

		// Token: 0x04003D09 RID: 15625
		private readonly RepeatedField<RaidTargetInfo> raidTargetInfo_ = new RepeatedField<RaidTargetInfo>();
	}
}
